#ifndef LECTEURSYMBOLE_H_
#define LECTEURSYMBOLE_H_

#include <fstream>
#include <string>
using namespace std;

#include "LecteurCaractere.h"
#include "Symbole.h"

class LecteurSymbole {
    
    public:
         //Méthodes
                LecteurSymbole(string nomFich);    // résultat : symCour = premier symbole du fichier nomFich
                void suivant();                    // passe au symbole suivant du fichier
                inline Symbole getSymCour()      { return symCour; } // retourne le symbole courant
                inline unsigned int getLigne()   { return ligne;   } // retourne la ligne du symbole dans le fichier
                inline unsigned int getColonne() { return colonne; } // retourne la colonne du symbole dans le fichier
        
    private:
        //Attributs
                LecteurCaractere lc;         // le lecteur de caracteres
                Symbole symCour;             // le symbole courant du lecteur de symboles
                unsigned int ligne, colonne; // coordonnees, dans le fichier, du symbole courant
       //Méthodes
                string motSuivant();       // lit dans lc la chaine du prochain symbole et la renvoie en resultat
                bool sauterSeparateurs();  // saute dans lc une suite de separateurs consecutifs
                bool sauterCommentaires(); // saute les commentaires avec de débuter la lecture d'un symbole
};

#endif /* LECTEURSYMBOLE_H_ */ 
